var external = null;
String.prototype.format = function () {
    if (arguments.length == 0) return this;
    var obj = arguments[0];
    var s = this;
    for (var key in obj) {
        s = s.replace(new RegExp("\\{\\{" + key + "\\}\\}", "g"), obj[key])
    }
    return s;
}

new QWebChannel(qt.webChannelTransport,
    function (channel) {
        external = channel.objects.external;
    }
);

function appendHtml(msg) {
    $("#placeholder").append(external.msgRHtmlTmpl.format(msg));
    window.scrollTo(0, document.body.scrollHeight);
}

function recvHtml(msg) {
    $("#placeholder").append(external.msgLHtmlTmpl.format(msg));
    window.scrollTo(0, document.body.scrollHeight);
};

function appendFile(fileInfo){
    var str = external.fileRHtmlTmpl.format(fileInfo)
    console.log("fileInfo.url:",fileInfo['url']);
    console.log("fileRHtmlTmpl:",external.fileRHtmlTmpl);
    console.log("appendFile:",str);
    $("#placeholder").append(str);
    window.scrollTo(0, document.body.scrollHeight);
}

function downloadFile(fileurl)
{
    console.log(fileurl);
    external.downloadFile(fileurl);
}

function onFileClicked(element)
{
     // 获取文件名
     var filename = element.querySelector('.filename').textContent;

     // 在这里可以执行下载文件的逻辑，例如使用Fetch API或其他方法
     // 这里只是一个示例，展示如何获取文件名
    //  console.log('Downloading file:', filename);
     
     // 在这里添加你的下载文件的逻辑
     // 例如：window.location.href = url;
     downloadFile(filename);
}
